home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / owa-anonymous.nasl < prev    next >
Text File  |  2005-03-31  |  3KB  |  113 lines

  1. #
  2. # This script was written by Javier Fernßndez-Sanguino Pe±a <jfs@computer.org>
  3. # based on scripts made by Renaud Deraison <deraison@cvs.nessus.org>
  4. #
  5. # Slightly modified by rd to to do pattern matching.
  6. #
  7. # See the Nessus Scripts License for details
  8. #
  9.  
  10. if(description)
  11. {
  12.  script_id(10781);
  13.  script_bugtraq_id(3301);
  14.  script_cve_id("CVE-2001-0660");
  15.  script_version ("$Revision: 1.17 $");
  16.  
  17.  name["english"] = "Outlook Web anonymous access";
  18.  script_name(english:name["english"]);
  19.  
  20.  desc["english"] = "
  21. It is possible to browse the information of the OWA server by accessing as an
  22. anonymous user with the following URL:
  23.  
  24. http://www.example.com/exchange/root.asp?acs=anon
  25.  
  26. After this access, the anonymous user can search for valid users in the OWA 
  27. server and can enumerate all users by accessing the following URL:
  28.  
  29. http://www.example.com/exchange/finduser/details.asp?obj=XXX
  30. (where XXX is a string of 65 hexadecimal numbers)
  31.  
  32. Data that can be accessed by an anonymous user
  33. may include: usernames, server names, email name accounts,
  34. phone numbers, departments, office, management relationships...
  35.  
  36. This information will help an attacker to make social
  37. engineering attacks with the knowledge gained. This attack
  38. can be easily automated since, even if direct access to search
  39. is not possible, you only need the cookie given on the anonymous
  40. login access.
  41.  
  42. Administrators might be interested in consulting
  43. the following URL:
  44.  
  45. http://support.microsoft.com/support/exchange/content/whitepapers/owaguide.doc
  46.  
  47. Solution:
  48.     Disable anonymous access to OWA. Follow these steps:
  49.     1. In Microsoft Exchange Administrator open the Configuration container.
  50.     2. Choose Protocols, and then double-click HTTP (Web) Site Settings
  51.     3. Unselect the 'Allow anonymous users to access 
  52.     the anonymous public folders' check box.
  53.     4. Select the Folder Shortcuts tab.
  54.     5. Remove all folders which are allowed anonymous viewing.
  55.         6. Choose OK.
  56.     7. Remove the anonymous access from the login web pages.
  57.     
  58. Risk factor : Medium";    
  59.     
  60.  script_description(english:desc["english"]);
  61.  
  62.  summary["english"] = "Outlook Web anonymous access";
  63.  script_summary(english:summary["english"]);
  64.  
  65.  script_category(ACT_GATHER_INFO);
  66.  
  67.  
  68.  script_copyright(english:"This script is Copyright (C) 2001 Javier Fernßndez-Sanguino Pe±a");
  69.  family["english"] = "CGI abuses";
  70.  script_family(english:family["english"]);
  71.  script_dependencie("find_service.nes", "http_version.nasl", "www_fingerprinting_hmap.nasl");
  72.  script_require_ports("Services/www", 80);
  73.  exit(0);
  74. }
  75.  
  76. #
  77. # The script code starts here
  78. #
  79.  
  80. include("http_func.inc");
  81. include("http_keepalive.inc");
  82.  
  83. port = get_http_port(default:80);
  84.  
  85. if ( ! can_host_asp(port:port) ) exit(0);
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  cgi = "/exchange/root.asp?acs=anon";
  92.  if(is_cgi_installed_ka(item:cgi, port:port))
  93.  {
  94.   soc = http_open_socket(port);
  95.   req = http_get(item:"/exchange/root.asp?acs=anon", port:port);
  96.   send(socket:soc, data:req);
  97.   r = http_recv(socket:soc);
  98.   http_close_socket(soc);
  99.   if ("/exchange/logonfrm.asp" >< r)
  100.   {
  101.    soc = http_open_socket(port);
  102.    req = http_get(item:"/exchange/logonfrm.asp", port:port);
  103.    send(socket:soc, data:req);
  104.    r = http_recv(socket:soc);
  105.    http_close_socket(soc);
  106.  
  107.    if (!("This page has been disabled" >< r))
  108.    {
  109.     security_warning(port);
  110.    }
  111.   }
  112.  }
  113.